/* -*-jde-*- */
package ui.alumnoInterfaz;

import ui.empresaInterfaz.VacanteBean;
import java.util.Date;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.faces.model.SelectItem;
import org.primefaces.model.map.MapModel;

/**
 *
 *
 * @author Victor Miguel Peralta Santa Anna
 * @since Enero 2012
 * @version 0.1
 */
public class AlumnoBean implements Serializable {

    /**
     * Esta variable emula una experiencia profesional que se va a crear Una vez
     * creada la experiencia se debe guardar en el arreglo de experiencias
     */
    private experienciaProf expProfesional = new experienciaProf();
    /**
     * Un arreglo que guarda todas las experiencias profesionales de un alumno
     */
    private List<experienciaProf> expProfesionales = new ArrayList<experienciaProf>();
    /**
     * Esta variable emula un idioma que se va a crear Una vez creada se guarda
     * la variable en el arreglo de idiomas
     */
    private idiomaBean idioma = new idiomaBean();
    /**
     * Arreglo que guarda los idiomas que tiene un alumno
     */
    private List<idiomaBean> idiomas = new ArrayList<idiomaBean>();
    /**
     * Variable que emula una habilidad tecnico profesional nueva para ser
     * guardada en el arreglo
     */
    private tecnicoProfBean habilidadTecProf = new tecnicoProfBean();
    /**
     * Guarda todas las habilidades tecnico profesionales de un alumno
     */
    private List<tecnicoProfBean> habilidadesTecProf = new ArrayList<tecnicoProfBean>();
    /**
     * Emula una nueva formación profesional que se guardara en el arreglo
     */
    private formacionBean formacion = new formacionBean();
    /**
     * Guarda las formaciones
     */
    private List<formacionBean> formaciones = new ArrayList<formacionBean>();
    /**
     * Emula una nueva act de inv para ser guardada en el arreglo
     */
    private investigacionBean investigacion = new investigacionBean();
    /**
     * Arreglo que guardar todas las act de inv de un alumno
     */
    private List<investigacionBean> investigaciones = new ArrayList<investigacionBean>();
    private String nombre = "nombre";
    private String apPat = "apPat";
    private String apMat = "apMat";
    private String numeroCta = "000000000";
    private Date fechaNac;
    private String domicilio = "domicilio";
    private String telefono = "tel";
    private String telefono2 = "";
    private String correo = "email";
    private String correo2 = "";
    private String objetivo = "obj";
    private String dispuestoViajar = "Si";
    private String dispuestoReubicarse = "Si";
    private Date fechaActualizacion;
    private Date fechaGrad;
    private String areasInteres = "";
    private String estudianteEgresado = " ";
    private String ultimoGrado = "Licenciatura";
    private String porcentajeCreditos = "50%-60%";
    private String carrera = "Ciencias de la Computación";
    //Vacantes
    //el html que describe una vacante seleccionada
    private String htmlElegido = "Generar el Curriculum en la sección de edición del curriculum vitae.";
    //Titulo de una vacante buscada
    private String tituloVacBus;
    //Descripción de una bacante buscada
    private String descripcionVacBus;
    //Arreglo de vacantes buscadas 
    private List<VacanteBean> vacantesBuscadas = new ArrayList<VacanteBean>();
    //Arreglo que guarda las postulaciones de un alumno
    private List<VacanteBean> misPostulaciones = new ArrayList<VacanteBean>();
    //Vacante seleccionada 
    private VacanteBean vacanteSeleccionada;
    //Llaves
    private Integer ultimoGradoId = 0;
    private Integer carreraId = 0;
    private Integer alumnoId = 0;
    private Integer cvId = -1;
    //Catalogos
    protected ArrayList<SelectItem> carreraCatalogo = new ArrayList<SelectItem>();
    protected ArrayList<SelectItem> porcentajeCatalogo = new ArrayList<SelectItem>();
    protected ArrayList<SelectItem> ultimoGradoCatalogo = new ArrayList<SelectItem>();
    private double latitud = 19.324213;
    private double longitud = -99.180625;
    private double radioBusqueda = 10;
    private MapModel emptyModel;

    /**
     * Inicia una nueva experiencia profesional en el servidor
     *
     * @return
     */
    public String reinit() {
        expProfesional = new experienciaProf();
        return null;
    }

    /**
     * Inicia un nuevo idioma en el servidor
     *
     * @return
     */
    public String initIdioma() {
        idioma = new idiomaBean();
        return null;
    }

    /**
     * Inicia una nueva habilidad tecnica
     *
     * @return
     */
    public String initHabTec() {
        habilidadTecProf = new tecnicoProfBean();
        return null;
    }

    /**
     * Genera una nueva formación academica en el servidor
     *
     * @return
     */
    public String initFormacion() {
        formacion = new formacionBean();
        return null;
    }

    /**
     * Inicia una nueva actividad de investigación
     *
     * @return
     */
    public String initInvestigacion() {
        investigacion = new investigacionBean();
        return null;
    }

    //Inicia la sección de accessors de las variables del alumno
    public VacanteBean getVacanteSeleccionada() {
        return vacanteSeleccionada;
    }

    public void setVacanteSeleccionada(VacanteBean vacanteSeleccionada) {
        this.vacanteSeleccionada = vacanteSeleccionada;
    }

    public String getHtmlElegido() {
        return htmlElegido;
    }

    public void setHtmlElegido(String htmlElegido) {
        this.htmlElegido = htmlElegido;
    }

    public String getDescripcionVacBus() {
        return descripcionVacBus;
    }

    public void setDescripcionVacBus(String descripcionVacBus) {
        this.descripcionVacBus = descripcionVacBus;
    }

    public List<VacanteBean> getMisPostulaciones() {
        return misPostulaciones;
    }

    public void setMisPostulaciones(List<VacanteBean> misPostulaciones) {
        this.misPostulaciones = misPostulaciones;
    }

    public String getTituloVacBus() {
        return tituloVacBus;
    }

    public void setTituloVacBus(String tituloVacBus) {
        this.tituloVacBus = tituloVacBus;
    }

    public List<VacanteBean> getVacantesBuscadas() {
        return vacantesBuscadas;
    }

    public void setVacantesBuscadas(List<VacanteBean> vacantesBuscadas) {
        this.vacantesBuscadas = vacantesBuscadas;
    }

    public String getTelefono2() {
        return telefono2;
    }

    public void setTelefono2(String telefono2) {
        this.telefono2 = telefono2;
    }

    public String getAreasInteres() {
        return areasInteres;
    }

    public void setAreasInteres(String areasInteres) {
        this.areasInteres = areasInteres;
    }

    public String getEstudianteEgresado() {
        return estudianteEgresado;
    }

    public void setEstudianteEgresado(String estudianteEgresado) {
        this.estudianteEgresado = estudianteEgresado;
    }

    public investigacionBean getInvestigacion() {
        return investigacion;
    }

    public void setInvestigacion(investigacionBean investigacion) {
        this.investigacion = investigacion;
    }

    public List<investigacionBean> getInvestigaciones() {
        return investigaciones;
    }

    public void setInvestigaciones(List<investigacionBean> investigaciones) {
        this.investigaciones = investigaciones;
    }

    public formacionBean getFormacion() {
        return formacion;
    }

    public void setFormacion(formacionBean formacion) {
        this.formacion = formacion;
    }

    public List<formacionBean> getFormaciones() {
        return formaciones;
    }

    public void setFormaciones(List<formacionBean> formaciones) {
        this.formaciones = formaciones;
    }

    public tecnicoProfBean getHabilidadTecProf() {
        return habilidadTecProf;
    }

    public void setHabilidadTecProf(tecnicoProfBean habilidadTecProf) {
        this.habilidadTecProf = habilidadTecProf;
    }

    public List<tecnicoProfBean> getHabilidadesTecProf() {
        return habilidadesTecProf;
    }

    public void setHabilidadesTecProf(List<tecnicoProfBean> habilidadesTecProf) {
        this.habilidadesTecProf = habilidadesTecProf;
    }

    public idiomaBean getIdioma() {
        return idioma;
    }

    public void setIdioma(idiomaBean idioma) {
        this.idioma = idioma;
    }

    public List<idiomaBean> getIdiomas() {
        return idiomas;
    }

    public void setIdiomas(List<idiomaBean> idiomas) {
        this.idiomas = idiomas;
    }

    public String getDispuestoReubicarse() {
        return dispuestoReubicarse;
    }

    public void setDispuestoReubicarse(String dispuestoReubicarse) {
        this.dispuestoReubicarse = dispuestoReubicarse;
    }

    public String getDispuestoViajar() {
        return dispuestoViajar;
    }

    public void setDispuestoViajar(String dispuestoViajar) {
        this.dispuestoViajar = dispuestoViajar;
    }

    public Date getFechaActualizacion() {
        return fechaActualizacion;
    }

    public void setFechaActualizacion(Date fechaActualizacion) {
        this.fechaActualizacion = fechaActualizacion;
    }

    public Date getFechaGrad() {
        return fechaGrad;
    }

    public void setFechaGrad(Date fechaGrad) {
        this.fechaGrad = fechaGrad;
    }

    public String getObjetivo() {
        return objetivo;
    }

    public void setObjetivo(String objetivo) {
        this.objetivo = objetivo;
    }

    public String getApMat() {
        return apMat;
    }

    public void setApMat(String apMat) {
        this.apMat = apMat;
    }

    public String getApPat() {
        return apPat;
    }

    public void setApPat(String apPat) {
        this.apPat = apPat;
    }

    public String getCorreo() {
        return correo;
    }

    public void setCorreo(String correo) {
        this.correo = correo;
    }

    public String getDomicilio() {
        return domicilio;
    }

    public String getCorreo2() {
        return correo2;
    }

    public void setCorreo2(String correo2) {
        this.correo2 = correo2;
    }

    public void setDomicilio(String domicilio) {
        this.domicilio = domicilio;
    }

    public experienciaProf getExpProfesional() {
        return expProfesional;
    }

    public void setExpProfesional(experienciaProf expProfesional) {
        this.expProfesional = expProfesional;
    }

    public List<experienciaProf> getExpProfesionales() {
        return expProfesionales;
    }

    public void setExpProfesionales(List<experienciaProf> expProfesionales) {
        this.expProfesionales = expProfesionales;
    }

    public Date getFechaNac() {
        return fechaNac;
    }

    public void setFechaNac(Date fechaNac) {
        this.fechaNac = fechaNac;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getNumeroCta() {
        return numeroCta;
    }

    public void setNumeroCta(String numeroCta) {
        this.numeroCta = numeroCta;
    }

    public String getTelefono() {
        return telefono;
    }

    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    public String getUltimoGrado() {
        return ultimoGrado;
    }

    public void setUltimoGrado(String ultimoGrado) {
        this.ultimoGrado = ultimoGrado;
    }

    public ArrayList<SelectItem> getUltimoGradoCatalogo() {
        return ultimoGradoCatalogo;
    }

    public void setUltimoGradoCatalogo(ArrayList<SelectItem> ultimoGradoCatalogo) {
        this.ultimoGradoCatalogo = ultimoGradoCatalogo;
    }

    public String getPorcentajeCreditos() {
        return porcentajeCreditos;
    }

    public void setPorcentajeCreditos(String porcentajeCreditos) {
        this.porcentajeCreditos = porcentajeCreditos;
    }

    public String getCarrera() {
        return carrera;
    }

    public void setCarrera(String carrera) {
        this.carrera = carrera;
    }

    //Catalogos
    public ArrayList<SelectItem> getCarreraCatalogo() {
        return carreraCatalogo;
    }

    public void setCarreraCatalogo(ArrayList<SelectItem> carreraCatalogo) {
        this.carreraCatalogo = carreraCatalogo;
    }

    public ArrayList<SelectItem> getPorcentajeCatalogo() {
        return porcentajeCatalogo;
    }

    public void setPorcentajeCatalogo(ArrayList<SelectItem> porcentajeCatalogo) {
        this.porcentajeCatalogo = porcentajeCatalogo;
    }

    //Llaves
    public Integer getAlumnoId() {
        return alumnoId;
    }

    public void setAlumnoId(Integer alumnoId) {
        this.alumnoId = alumnoId;
    }

    public Integer getCarreraId() {
        return carreraId;
    }

    public void setCarreraId(Integer carreraId) {
        this.carreraId = carreraId;
    }

    public Integer getCvId() {
        return cvId;
    }

    public void setCvId(Integer cvId) {
        this.cvId = cvId;
    }

    public Integer getUltimoGradoId() {
        return ultimoGradoId;
    }

    public void setUltimoGradoId(Integer ultimoGradoId) {
        this.ultimoGradoId = ultimoGradoId;
    }

    /**
     * @return the latitud
     */
    public double getLatitud() {
        return latitud;
    }

    /**
     * @param latitud the latitud to set
     */
    public void setLatitud(double latitud) {
        this.latitud = latitud;
    }

    /**
     * @return the longitud
     */
    public double getLongitud() {
        return longitud;
    }

    /**
     * @param longitud the longitud to set
     */
    public void setLongitud(double longitud) {
        this.longitud = longitud;
    }

    /**
     * @return the emptyModel
     */
    public MapModel getEmptyModel() {
        return emptyModel;
    }

    /**
     * @param emptyModel the emptyModel to set
     */
    public void setEmptyModel(MapModel emptyModel) {
        this.emptyModel = emptyModel;
    }

    /**
     * @return the radioBusqueda
     */
    public double getRadioBusqueda() {
        return radioBusqueda;
    }

    /**
     * @param radioBusqueda the radioBusqueda to set
     */
    public void setRadioBusqueda(double radioBusqueda) {
        this.radioBusqueda = radioBusqueda;
    }
}
